home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 25 / AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso / PublicDomain / Spiele / WormWars / Source / same.h < prev    next >
Text File  |  2000-04-25  |  14KB  |  394 lines

  1. /* $Filename:    WormWars/Source/same.h $
  2.  * $VER:         WormWars 5.61 $
  3.  * $Description: Header file for Worm Wars $
  4.  *
  5.  * © Copyright 2000 James R. Jacobs.
  6.  
  7. SAME ON EACH PLATFORM -------------------------------------------------- */
  8.  
  9. #define elif         else if
  10. #define AGLOBAL      ;       /* global (project-scope) */
  11. #define MODULE       static  /* external static (file-scope) */
  12. #define PERSIST      static  /* internal static (function-scope) */
  13. #define AUTO         auto    /* automatic (function-scope) */
  14.  
  15. /* miscellaneous */
  16.  
  17. #define CAUSEWAIT      100
  18. #define DATELENGTH       8 /* DD/MM/YY */
  19. #define TIMELENGTH       5 /* HH:MM */
  20. #define DEFAULTLEVELS    5
  21. #define ENDXPIXEL     ((STARTXPIXEL + SQUAREX * (FIELDX + 1)) - 1)
  22. #define ENDYPIXEL     ((STARTYPIXEL + SQUAREY * (FIELDY + 1)) - 1)
  23. #define FIELDX          52 /* in squares */
  24. #define FIELDY          38 /* in squares */
  25. #define HISCORES         4
  26. #define LIFEMODULO    1000
  27. #define MAXLEVELS       40 /* assert (MAXLEVELS >= 1 && MAXLEVELS <= 99); */
  28. #define NAMELENGTH      21 /* 0..20 are TEXT, 21 is NULL */
  29. #define NUMKEYS         28
  30. #define PATIENCE        20
  31. #define VERSION       "$VER: Worm Wars 5.61 (26.4.00) $"
  32.  
  33. /* samples */
  34.  
  35. #define FXGOATFIRE       0
  36. #define FXPROTECTORBORN     1
  37. #define FXTIMEBOMBTICK     2
  38. #define FXGETGROWER      3
  39. #define FXMISSILEACTIVE     4
  40. #define FXGETPOWERUP     5
  41. #define FXUSETELEPORT     6
  42. #define FXWORMDEATH      7
  43. #define FXGETAMMO        8
  44. #define FXEXPLODE        9
  45. #define FXGOATBORN      10
  46. #define FXORBBORN       11
  47. #define FXSHOOT         12
  48. #define FXTITLESCREEN    13
  49. #define FXVICTORY        14
  50. #define FXFILENEW        15
  51. #define FXFILEOPEN        16
  52. #define FXFILESAVE        17
  53. #define FXBOMBBLAST        18
  54. #define FXDEFEAT        19
  55. #define FXENDOFLEVEL    20
  56. #define FXCLICK         21
  57. #define FXUSEARMOUR     22
  58. #define FXGETOBJECT     23
  59. #define FXTIMEALERT     24
  60. #define FXORBSPLIT      25
  61. #define FXORBDEATH      26
  62. #define FXFILESAVEAS    27
  63. #define FXFX            28
  64. #define FXGETNITRO        29
  65. #define FXJUMP            30
  66. #define FX_C            31
  67. #define FX_O            32
  68. #define FX_M            33
  69. #define FX_P            34
  70. #define FX_L            35
  71. #define FX_E            36
  72. #define FX_T            37
  73. #define FXHISCORE        38
  74. #define FXTHUD            39
  75. #define FXGOATDEATH     40
  76. #define FXGETSKULL      41
  77. #define FXUSETONGUE     42
  78. #define FXDRIPBORN      43
  79. #define FXAMIGAN        44
  80. #define FXPAIN          45
  81. #define FXPENGUINBORN    49
  82. #define FXPENGUINDEATH    50
  83. #define FXRUNDOWN       51
  84. #define FXEDITCUT       52
  85. #define FXEDITCOPY      53
  86. #define FXEDITPASTE     54
  87. #define FXLEVELDELETE   55
  88. #define FXCYCLONE       56
  89. #define FXDOGAWAKENS    57
  90. #define FXENCLOSURE     58
  91. #define SAMPLES         FXENCLOSURE
  92.  
  93. #define FXSTAMPED       FXBOMBBLAST
  94. #define FXUSEPROTECTOR  FXPROTECTORBORN
  95. #define FXDRIP          FXFX
  96.  
  97. /* key types */
  98.  
  99. #define MOVE                  0    /* not AMMO, TRAINER, ONEHUMAN */
  100. #define TRAINER                  2    /* not MOVE, AMMO, ONEHUMAN */
  101. #define ONEHUMAN              3    /* not MOVE, AMMO, TRAINER */
  102.  
  103. /* speeds */
  104.  
  105. #define VERYFAST                 1
  106. #define FAST                     2
  107. #define NORMAL                   4
  108. #define SLOW                     8
  109. #define VERYSLOW                16      /* must be non-0 */
  110.  
  111. /* The constant NORMAL is used for several purposes:
  112.     a)    as a speed (therefore must not be VERYFAST, FAST, SLOW
  113.             or VERYSLOW);
  114.     b)    as a blitmode (therefore must not be BLACK or WHITE); and
  115.     c)    as a pointer (therefore must not be GOLD, SILVER, EMPTY,
  116.             WOOD or STONE).
  117.  
  118. stats */
  119.  
  120. #define AMMOLIMIT       100
  121. #define BIASLIMIT       100
  122. #define STARTLIVES       100
  123. #define LIVESLIMIT       200
  124. #define MODELIMIT       100
  125. #define MULTILIMIT       8      /* don't set >8! */
  126. #define POWERLIMIT         6
  127. #define SCORELIMIT    999999L
  128.  
  129. /* Field values...
  130. These are objects. */
  131.     #define AFFIXER                 0
  132.     #define AMMO                 1
  133.     #define ARMOUR                 2
  134.     #define BIAS                 3
  135.     #define BOMB                 4
  136.     #define BONUS                 5
  137.     #define CLOCK                 6
  138.         #define CYCLONE                          7
  139.     #define GROWER                 8
  140.     #define HEALER                 9
  141.     #define ICE                10
  142.     #define LIFE                11
  143.     #define LIGHTNING            12
  144.         #define MAGNET                          13
  145.         #define MISSILE                         14
  146.         #define MULTIPLIER                      15
  147.         #define NITRO                           16
  148.         #define POWER                           17
  149.         #define PROTECTOR                       18
  150.         #define PULSE                           19
  151.         #define REMNANTS                        20
  152.         #define SIDESHOT                        21
  153.         #define SLAYER                          22
  154.         #define SLOWER                          23
  155.         #define SWITCHER                        24
  156.         #define TONGUE                          25
  157.         #define TREASURE                        26
  158.         #define UMBRELLA                        27
  159.     #define LASTOBJECT            UMBRELLA
  160. /* These are `empty'. */
  161.         #define EMPTY                   (LASTOBJECT + 1)
  162.         #define SILVER                  (LASTOBJECT + 2)
  163.         #define GOLD                    (LASTOBJECT + 3)
  164.         #define FIRSTEMPTY              EMPTY
  165.         #define LASTEMPTY               GOLD
  166.     #define LASTGOATFIRE        LASTEMPTY
  167. /* Nothing special about the following... */
  168.         #define TELEPORT                (GOLD + 1)
  169.         #define FRAGMENT                (GOLD + 2)
  170.         #define ORB                     (GOLD + 3)
  171.     #define FIRSTPROTECTOR        (GOLD + 4)
  172.     #define LASTPROTECTOR        (GOLD + 7)
  173. /* Margins indicate `ranges' for:
  174.    n: orb bouncing, normal mode.
  175.    t: orb bouncing, tongue mode.
  176.    a: orb bouncing, armour mode.
  177.    g: goats. */
  178.         #define  GREEN_C                        (GOLD +  8)      
  179.         #define    RED_O                        (GOLD +  9)
  180.         #define   BLUE_M                        (GOLD + 10)
  181.         #define YELLOW_P                        (GOLD + 11)
  182.         #define  GREEN_L                        (GOLD + 12)
  183.         #define    RED_E                        (GOLD + 13)
  184.         #define   BLUE_T                        (GOLD + 14)
  185.         #define YELLOW_E                        (GOLD + 15)
  186.         #define SKULL                           (GOLD + 16)             /* n t a g */
  187.         #define SLIME                           (GOLD + 17)             /*     [ [ */
  188.         #define STONE                           (GOLD + 18)             /* [ [ | | */
  189.         #define GOAT                            (GOLD + 19)             /* ] | | | */
  190.         #define WOOD                            (GOLD + 20)             /*   | ] | */
  191.         #define FIRSTTAIL                       (GOLD + 21)             /*   |   | */
  192.         #define LASTTAIL                        (GOLD + 24)             /*   ]   ] */
  193.         #define FIRSTLETTER        GREEN_C
  194.         #define FIRSTNONE          STONE
  195.         #define FIRSTTONGUE        STONE
  196.         #define FIRSTARMOUR        SLIME
  197.         #define FIRSTGOAT          SLIME
  198.         #define LASTLETTER         YELLOW_E
  199.         #define LASTNONE           LASTTAIL
  200.         #define LASTTONGUE         GOAT
  201.         #define LASTARMOUR         GOAT
  202.         #define LASTGOAT           LASTTAIL
  203.         #define LETTERS            (LASTLETTER - FIRSTLETTER)
  204.  
  205.         #define ORBTONGUE          (LASTTAIL +  1)
  206.         #define ORBARMOUR          (LASTTAIL +  2)
  207.         #define FIRSTFIRE          (LASTTAIL +  3)
  208.         #define LASTFIRE           (LASTTAIL +  6)
  209.         #define FIRSTMISSILE       (LASTTAIL +  7)
  210.         #define LASTMISSILE        (LASTTAIL + 10)
  211.         #define START              (LASTTAIL + 11)
  212.         #define MUSIC              (LASTTAIL + 12)
  213.         #define FX                 (LASTTAIL + 13)
  214.         #define ZERO               (LASTTAIL + 14)
  215.         #define TIMEBOMB            ZERO
  216.         #define ONE                (ZERO + 1)
  217.         #define TWO                (ZERO + 2)
  218.         #define       HEAD         (ZERO + 10)
  219.         #define  GREENHEADUP        HEAD
  220.         #define    REDHEADUP       (HEAD +  1)
  221.         #define   BLUEHEADUP       (HEAD +  2)
  222.         #define YELLOWHEADUP       (HEAD +  3)
  223.         #define  FIRSTHEAD         GREENHEADUP
  224.         #define   LASTHEAD         YELLOWHEADUP
  225.         #define  GREENHEADDOWN     (HEAD +  4)
  226.         #define    REDHEADDOWN     (HEAD +  5)
  227.         #define   BLUEHEADDOWN     (HEAD +  6)